def generateObjcInter(cls_name, inter_body, extra = None):
    import_cls = "#import <Foundation/Foundation.h>\n#import \"YLUser.h\""
    inter_begin = ("@interface %s: NSObject"%cls_name)
    inter_end = "@end"
    if extra == None:
        return import_cls + "\n\n" + inter_begin + "\n\n" + inter_body + "\n\n" + inter_end
    return import_cls + "\n\n" + extra + "\n\n" + inter_begin + "\n\n" + inter_body + "\n\n" + inter_end

def generateObjcImpl(cls_name, impl_body):
    import_class = ("#import \"%s.h\""%cls_name)
    impl_begin = ("@implementation %s"%cls_name)
    impl_end = "@end"
    return import_class + "\n\n" + impl_begin + "\n\n" + impl_body + "\n\n" + impl_end

def generateKotlin(cls_name, impl_body, extra = None):
    if extra == None:
        return "object %s {\n%s\n}"%(cls_name, impl_body)
    else:
        return "%s\n\nobject %s {\n%s\n}"%(extra, cls_name, impl_body)